﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FreedomERP.Models;
using FreedomERP.Comm;
using FreedomERP.Models.Inv;
using System.Web;

namespace FreedomERP.Services.Inv
{
    /// <summary>
    /// 欠货单业务层接口
    /// </summary>
    interface IInvShortageOrderService
    {
        /// <summary>
        /// 根据条件获取欠货单列表
        /// </summary>
        /// <param name="paggingParams"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        List<InvShortageOrderView> QueryInvShortageOrderPaggingByParam(PagingParams paggingParams, out int totalCount);

        /// <summary>
        /// 关闭欠货单，即将欠货单的状态标为“已核销”
        /// </summary>
        /// <param name="fId"></param>
        /// <param name="modifierId"></param>
        void closeShortageOrder(String fId, String modifierId);

        /// <summary>
        /// 根据条件获取欠货单详情列表
        /// </summary>
        /// <param name="paggingParams"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        List<InvShortageOrderDetailView> QueryInvShortageOrderDetailPaggingByParam(PagingParams paggingParams, out int totalCount);

        /// <summary>
        /// 修改欠货单详情
        /// </summary>
        /// <param name="fId"></param>
        /// <param name="fParentId"></param>
        /// <param name="returnNum"></param>
        /// <param name="modifierId"></param>
        /// <returns></returns>
        String UpdateShortageOrderDetail(String fId, String fParentId, String returnNum, String modifierId);

        /// <summary>
        /// 导出送货单信息到excel
        /// </summary>
        /// <author>梁建东</author>
        /// <returns></returns>
        void ExportShortageOrderToExcel(string FId, string serverPath, HttpResponseBase response);
    }
}
